package com.authine.cloudpivot.ext.applicationservice.v1.sourcing.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("询价商品VO")
public class InquiryVO {

    @ApiModelProperty(value = "询价单ID")
    private String id;
    /**
     * 用于固买网询价单创建使用
     */
    @ApiModelProperty(value = " 外部来源客户id")
    @JsonProperty("clientInquiryId")
    private String client_inquiry_id;

    @ApiModelProperty(value = "询价人id")
    @JsonProperty("memberId")
    private String member_id;

    @ApiModelProperty(value = "询价标题")
    private String name;

    @ApiModelProperty(value = "询价截止日期")
    private Date expire;

    @ApiModelProperty(value = "联系电话")
    private String mobile;

    @ApiModelProperty(value = "联系人")
    private String contacts;

    @ApiModelProperty(value = "询价商品列表")
    private List<InquiryGoodsVO> inquiryGoods;


    @ApiModelProperty(value = "联系qq")
    private String qq;

    @ApiModelProperty(value = "报价单最小时间策略(默认30天之后的日期)")
    @JsonProperty("quoteMinTimeStrategy")
    private Date quote_min_time_strategy;

    @ApiModelProperty(value = "是否多次购买")
    @JsonProperty("quoteMultipePurchases")
    private Integer quote_multiple_purchases;

    @ApiModelProperty(value = "密封报价策略")
    @JsonProperty("quoteHermeticStrategy")
    private Integer quote_hermetic_strategy;

    @ApiModelProperty(value = "整单询价策略")
    @JsonProperty("quoteTotalStrategy")
    private Integer quote_total_strategy;

    @ApiModelProperty(value = "是否为询竞价")
    @JsonProperty("quotePublicBidding")
    private String quote_public_bidding;

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "创建时间")
    @JsonProperty("time")
    private Date createdTime;

    @ApiModelProperty(value = "询价范围")
    @JsonProperty("vendorScope")
    private String vendor_scope;

    @ApiModelProperty(value = "邀请供应商id列表：vendorScope为1或3时必填")
    private List<Long> organizationVendorIds;

    @ApiModelProperty("部门ID")
    @JsonProperty("departmentId")
    private String target_department_id;

    @ApiModelProperty(value = "报价税率限制",example = "0.13",notes = "0-1之间")
    @JsonProperty("quoteTaxRateLimit")
    private Double quote_tax_rate_limit;

    @ApiModelProperty("备注")
    private String memos;

    @ApiModelProperty("成本中心编码")
    @JsonProperty("costCenterName")
    private String cost_center_name;

    @ApiModelProperty("外部来源客户ID")
    @JsonProperty("clientUserId")
    private String client_id;

    @ApiModelProperty(value = "修改人")
    private String modifiedBy;

    @ApiModelProperty(value = "是否提交")
    private Integer submit;

    @ApiModelProperty(value = "vmi询价")
    private Integer vmiInquiry;

    @ApiModelProperty("部门名称")
    @JsonProperty("departmentName")
    private String department_name;

    @ApiModelProperty("会员名称")
    @JsonProperty("memberName")
    private String member_name;

    @ApiModelProperty(value = "扩展字段", example = "\"{\"品类\":\"品类\",\"申购理由\":\"申购理由\",\"用途\":\"用途\"}\"")
    private String extendsAttr;

    @ApiModelProperty("账期")
    @JsonProperty("accountPeriod")
    private Integer account_period;

    @ApiModelProperty("物流要求")
    @JsonProperty("logisticsDemand")
    private String logistics_demand;
}
